home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 June: Reference Library / Dev.CD Jun 96 RL / Dev.CD Jun 96 RL.toast / Technical Documentation / develop / develop Issue 6 / develop Issue 6 code / TCP.sea / TCP / NewsWatcher / NW Source / Source / log.c < prev    next >
MacBinary  |  1995-03-12  |  4.5 KB  |  [TEXT/MMCC]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert Jesper Olsen Module (music/jesperOlsen) magic Supported
1% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Sun Mar 12 09:58:48 1995, modified Sun Mar 12 09:58:48 1995, creator 'MMCC', type ASCII, 3962 bytes "log.c" , at 0xffa 410 bytes resource default (weak)
99% file data default
49% TrID Macintosh plain text (MacBinary) default
33% TrID TTComp archive compressed (bin-2K) default (weak)
16% TrID MacBinary 2 default (weak)
0% TrID Sybase iAnywhere database files default (weak)
100% dearkID deark: macbinary default
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MMCC]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 05 6c 6f 67 2e 63 00 | 00 00 00 00 00 00 00 00 |..log.c.|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 4d 43 | 43 01 00 00 00 00 00 00 |.TEXTMMC|C.......|
|00000050| 00 00 00 00 00 0f 7a 00 | 00 01 9a ab 88 bc a8 ab |......z.|........|
|00000060| 88 bc a8 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 0b 01 00 00 |........|........|
|00000080| 2f 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/*------|--------|
|00000090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 0d |--------|------..|
|000000d0| 09 6c 6f 67 2e 63 0d 0d | 09 54 68 69 73 20 6d 6f |.log.c..|.This mo|
|000000e0| 64 75 6c 65 20 68 61 6e | 64 6c 65 73 20 6c 6f 67 |dule han|dles log|
|000000f0| 67 69 6e 67 2e 0d 09 0d | 09 43 6f 70 79 72 69 67 |ging....|.Copyrig|
|00000100| 68 74 20 a9 20 31 39 39 | 34 2d 31 39 39 35 2c 20 |ht . 199|4-1995, |
|00000110| 4e 6f 72 74 68 77 65 73 | 74 65 72 6e 20 55 6e 69 |Northwes|tern Uni|
|00000120| 76 65 72 73 69 74 79 2e | 0d 0d 2d 2d 2d 2d 2d 2d |versity.|..------|
|00000130| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000140| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000170| 2d 2d 2d 2d 2d 2d 2a 2f | 0d 0d 23 69 6e 63 6c 75 |------*/|..#inclu|
|00000180| 64 65 20 3c 73 74 64 69 | 6f 2e 68 3e 0d 23 69 6e |de <stdi|o.h>.#in|
|00000190| 63 6c 75 64 65 20 3c 73 | 74 72 69 6e 67 2e 68 3e |clude <s|tring.h>|
|000001a0| 0d 0d 23 69 6e 63 6c 75 | 64 65 20 22 67 6c 6f 62 |..#inclu|de "glob|
|000001b0| 2e 68 22 0d 23 69 6e 63 | 6c 75 64 65 20 22 6c 6f |.h".#inc|lude "lo|
|000001c0| 67 2e 68 22 0d 23 69 6e | 63 6c 75 64 65 20 22 64 |g.h".#in|clude "d|
|000001d0| 69 61 6c 6f 67 2e 68 22 | 0d 23 69 6e 63 6c 75 64 |ialog.h"|.#includ|
|000001e0| 65 20 22 73 74 72 75 74 | 69 6c 2e 68 22 0d 23 69 |e "strut|il.h".#i|
|000001f0| 6e 63 6c 75 64 65 20 22 | 66 69 6c 65 75 74 69 6c |nclude "|fileutil|
|00000200| 2e 68 22 0d 23 69 6e 63 | 6c 75 64 65 20 22 72 65 |.h".#inc|lude "re|
|00000210| 73 75 74 69 6c 2e 68 22 | 0d 23 69 6e 63 6c 75 64 |sutil.h"|.#includ|
|00000220| 65 20 22 69 63 2e 68 22 | 0d 0d 0d 0d 73 74 61 74 |e "ic.h"|....stat|
|00000230| 69 63 20 73 68 6f 72 74 | 20 67 52 65 66 4e 75 6d |ic short| gRefNum|
|00000240| 20 3d 20 30 3b 0d 0d 0d | 0d 2f 2a 2d 2d 2d 2d 2d | = 0;...|./*-----|
|00000250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000290| 2d 2d 2d 2d 2d 2d 2d 0d | 09 50 75 74 53 74 72 69 |-------.|.PutStri|
|000002a0| 6e 67 20 0d 09 0d 09 57 | 72 69 74 65 20 61 20 73 |ng ....W|rite a s|
|000002b0| 74 72 69 6e 67 20 74 6f | 20 74 68 65 20 6c 6f 67 |tring to| the log|
|000002c0| 20 66 69 6c 65 2e 0d 09 | 0d 09 45 6e 74 72 79 3a | file...|..Entry:|
|000002d0| 09 73 74 72 20 3d 20 73 | 74 72 69 6e 67 20 74 6f |.str = s|tring to|
|000002e0| 20 77 72 69 74 65 2e 0d | 2d 2d 2d 2d 2d 2d 2d 2d | write..|--------|
|000002f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000300| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000310| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000320| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000330| 2d 2d 2d 2d 2a 2f 0d 0d | 73 74 61 74 69 63 20 76 |----*/..|static v|
|00000340| 6f 69 64 20 50 75 74 53 | 74 72 69 6e 67 20 28 63 |oid PutS|tring (c|
|00000350| 68 61 72 20 2a 73 74 72 | 29 0d 7b 0d 09 75 6e 73 |har *str|).{..uns|
|00000360| 69 67 6e 65 64 20 6c 6f | 6e 67 20 73 65 63 73 3b |igned lo|ng secs;|
|00000370| 0d 09 44 61 74 65 54 69 | 6d 65 52 65 63 20 64 3b |..DateTi|meRec d;|
|00000380| 0d 09 63 68 61 72 20 6c | 69 6e 65 5b 31 30 32 34 |..char l|ine[1024|
|00000390| 5d 3b 0d 09 6c 6f 6e 67 | 20 6c 65 6e 3b 0d 09 0d |];..long| len;...|
|000003a0| 09 47 65 74 44 61 74 65 | 54 69 6d 65 28 26 73 65 |.GetDate|Time(&se|
|000003b0| 63 73 29 3b 0d 09 53 65 | 63 73 32 44 61 74 65 28 |cs);..Se|cs2Date(|
|000003c0| 73 65 63 73 2c 20 26 64 | 29 3b 0d 09 73 70 72 69 |secs, &d|);..spri|
|000003d0| 6e 74 66 28 6c 69 6e 65 | 2c 20 22 25 2e 32 64 2f |ntf(line|, "%.2d/|
|000003e0| 25 2e 32 64 2f 25 2e 32 | 64 20 25 2e 32 64 3a 25 |%.2d/%.2|d %.2d:%|
|000003f0| 2e 32 64 3a 25 2e 32 64 | 20 25 73 5c 6e 22 2c 0d |.2d:%.2d| %s\n",.|
|00000400| 09 09 64 2e 6d 6f 6e 74 | 68 2c 20 64 2e 64 61 79 |..d.mont|h, d.day|
|00000410| 2c 20 64 2e 79 65 61 72 | 2c 20 64 2e 68 6f 75 72 |, d.year|, d.hour|
|00000420| 2c 20 64 2e 6d 69 6e 75 | 74 65 2c 20 64 2e 73 65 |, d.minu|te, d.se|
|00000430| 63 6f 6e 64 2c 20 73 74 | 72 29 3b 0d 09 6c 65 6e |cond, st|r);..len|
|00000440| 20 3d 20 73 74 72 6c 65 | 6e 28 6c 69 6e 65 29 3b | = strle|n(line);|
|00000450| 0d 09 4d 79 46 53 57 72 | 69 74 65 4e 6f 43 61 63 |..MyFSWr|iteNoCac|
|00000460| 68 65 28 67 52 65 66 4e | 75 6d 2c 20 26 6c 65 6e |he(gRefN|um, &len|
|00000470| 2c 20 6c 69 6e 65 2c 20 | 6e 69 6c 29 3b 0d 7d 0d |, line, |nil);.}.|
|00000480| 0d 0d 0d 2f 2a 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.../*---|--------|
|00000490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004d0| 2d 0d 09 4f 70 65 6e 4c | 6f 67 46 69 6c 65 20 0d |-..OpenL|ogFile .|
|000004e0| 09 0d 09 4f 70 65 6e 20 | 74 68 65 20 6c 6f 67 20 |...Open |the log |
|000004f0| 66 69 6c 65 2e 0d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |file..--|--------|
|00000500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000510| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000520| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000540| 2d 2d 2a 2f 0d 0d 76 6f | 69 64 20 4f 70 65 6e 4c |--*/..vo|id OpenL|
|00000550| 6f 67 46 69 6c 65 20 28 | 76 6f 69 64 29 0d 7b 0d |ogFile (|void).{.|
|00000560| 09 46 43 42 50 42 52 65 | 63 20 70 42 6c 6f 63 6b |.FCBPBRe|c pBlock|
|00000570| 3b 0d 09 46 53 53 70 65 | 63 20 6c 6f 67 46 69 6c |;..FSSpe|c logFil|
|00000580| 65 3b 0d 09 4f 53 45 72 | 72 20 65 72 72 20 3d 20 |e;..OSEr|r err = |
|00000590| 6e 6f 45 72 72 3b 0d 09 | 53 74 72 32 35 35 20 76 |noErr;..|Str255 v|
|000005a0| 65 72 73 53 74 72 2c 20 | 66 69 6c 65 4e 61 6d 65 |ersStr, |fileName|
|000005b0| 3b 0d 09 43 53 74 72 32 | 35 35 20 73 74 72 2c 20 |;..CStr2|55 str, |
|000005c0| 66 6d 74 3b 0d 09 42 6f | 6f 6c 65 61 6e 20 65 6d |fmt;..Bo|olean em|
|000005d0| 70 74 79 3b 0d 09 0d 09 | 4d 79 49 43 52 65 61 64 |pty;....|MyICRead|
|000005e0| 53 68 61 72 65 64 50 72 | 65 66 73 28 6b 49 43 65 |SharedPr|efs(kICe|
|000005f0| 64 69 74 6f 72 48 65 6c | 70 65 72 29 3b 0d 09 0d |ditorHel|per);...|
|00000600| 09 69 66 20 28 67 52 65 | 66 4e 75 6d 20 21 3d 20 |.if (gRe|fNum != |
|00000610| 30 29 20 72 65 74 75 72 | 6e 3b 0d 09 70 42 6c 6f |0) retur|n;..pBlo|
|00000620| 63 6b 2e 69 6f 4e 61 6d | 65 50 74 72 20 3d 20 6e |ck.ioNam|ePtr = n|
|00000630| 69 6c 3b 0d 09 70 42 6c | 6f 63 6b 2e 69 6f 56 52 |il;..pBl|ock.ioVR|
|00000640| 65 66 4e 75 6d 20 3d 20 | 30 3b 0d 09 70 42 6c 6f |efNum = |0;..pBlo|
|00000650| 63 6b 2e 69 6f 52 65 66 | 4e 75 6d 20 3d 20 4c 4d |ck.ioRef|Num = LM|
|00000660| 47 65 74 43 75 72 41 70 | 52 65 66 4e 75 6d 28 29 |GetCurAp|RefNum()|
|00000670| 3b 0d 09 70 42 6c 6f 63 | 6b 2e 69 6f 46 43 42 49 |;..pBloc|k.ioFCBI|
|00000680| 6e 64 78 20 3d 20 30 3b | 0d 09 65 72 72 20 3d 20 |ndx = 0;|..err = |
|00000690| 50 42 47 65 74 46 43 42 | 49 6e 66 6f 28 26 70 42 |PBGetFCB|Info(&pB|
|000006a0| 6c 6f 63 6b 2c 20 66 61 | 6c 73 65 29 3b 0d 09 69 |lock, fa|lse);..i|
|000006b0| 66 20 28 65 72 72 20 21 | 3d 20 6e 6f 45 72 72 29 |f (err !|= noErr)|
|000006c0| 20 67 6f 74 6f 20 65 78 | 69 74 3b 0d 09 47 65 74 | goto ex|it;..Get|
|000006d0| 50 53 74 72 69 6e 67 28 | 6b 53 74 72 4c 6f 67 46 |PString(|kStrLogF|
|000006e0| 69 6c 65 4e 61 6d 65 2c | 20 66 69 6c 65 4e 61 6d |ileName,| fileNam|
|000006f0| 65 29 3b 0d 09 65 72 72 | 20 3d 20 46 53 4d 61 6b |e);..err| = FSMak|
|00000700| 65 46 53 53 70 65 63 28 | 70 42 6c 6f 63 6b 2e 69 |eFSSpec(|pBlock.i|
|00000710| 6f 46 43 42 56 52 65 66 | 4e 75 6d 2c 20 70 42 6c |oFCBVRef|Num, pBl|
|00000720| 6f 63 6b 2e 69 6f 46 43 | 42 50 61 72 49 44 2c 20 |ock.ioFC|BParID, |
|00000730| 0d 09 09 66 69 6c 65 4e | 61 6d 65 2c 20 26 6c 6f |...fileN|ame, &lo|
|00000740| 67 46 69 6c 65 29 3b 0d | 09 69 66 20 28 65 72 72 |gFile);.|.if (err|
|00000750| 20 21 3d 20 6e 6f 45 72 | 72 20 26 26 20 65 72 72 | != noEr|r && err|
|00000760| 20 21 3d 20 66 6e 66 45 | 72 72 29 20 67 6f 74 6f | != fnfE|rr) goto|
|00000770| 20 65 78 69 74 3b 0d 0d | 09 65 72 72 20 3d 20 4f | exit;..|.err = O|
|00000780| 70 65 6e 44 61 74 61 46 | 6f 72 6b 57 72 69 74 65 |penDataF|orkWrite|
|00000790| 43 72 65 61 74 65 49 66 | 4d 69 73 73 69 6e 67 28 |CreateIf|Missing(|
|000007a0| 26 6c 6f 67 46 69 6c 65 | 2c 20 67 50 72 65 66 73 |&logFile|, gPrefs|
|000007b0| 2e 73 61 76 65 64 41 72 | 74 43 72 65 61 74 6f 72 |.savedAr|tCreator|
|000007c0| 2c 20 27 54 45 58 54 27 | 2c 0d 09 09 73 6d 53 79 |, 'TEXT'|,...smSy|
|000007d0| 73 74 65 6d 53 63 72 69 | 70 74 2c 20 66 61 6c 73 |stemScri|pt, fals|
|000007e0| 65 2c 20 26 67 52 65 66 | 4e 75 6d 2c 20 26 65 6d |e, &gRef|Num, &em|
|000007f0| 70 74 79 29 3b 0d 09 69 | 66 20 28 65 72 72 20 21 |pty);..i|f (err !|
|00000800| 3d 20 6e 6f 45 72 72 29 | 20 67 6f 74 6f 20 65 78 |= noErr)| goto ex|
|00000810| 69 74 3b 0d 0d 09 50 75 | 74 53 74 72 69 6e 67 28 |it;...Pu|tString(|
|00000820| 22 22 29 3b 0d 09 50 75 | 74 53 74 72 69 6e 67 28 |"");..Pu|tString(|
|00000830| 22 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |"-------|--------|
|00000840| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000850| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000860| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000870| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 22 |--------|-------"|
|00000880| 29 3b 0d 09 50 75 74 53 | 74 72 69 6e 67 28 22 22 |);..PutS|tring(""|
|00000890| 29 3b 0d 09 47 65 74 43 | 53 74 72 69 6e 67 28 6b |);..GetC|String(k|
|000008a0| 53 74 72 4c 6f 67 4f 70 | 65 6e 4d 73 67 2c 20 73 |StrLogOp|enMsg, s|
|000008b0| 74 72 29 3b 0d 09 50 75 | 74 53 74 72 69 6e 67 28 |tr);..Pu|tString(|
|000008c0| 73 74 72 29 3b 0d 09 65 | 72 72 20 3d 20 47 65 74 |str);..e|rr = Get|
|000008d0| 56 65 72 73 69 6f 6e 53 | 74 72 69 6e 67 28 76 65 |VersionS|tring(ve|
|000008e0| 72 73 53 74 72 29 3b 0d | 09 69 66 20 28 65 72 72 |rsStr);.|.if (err|
|000008f0| 20 21 3d 20 6e 6f 45 72 | 72 29 20 67 6f 74 6f 20 | != noEr|r) goto |
|00000900| 65 78 69 74 3b 0d 09 47 | 65 74 43 53 74 72 69 6e |exit;..G|etCStrin|
|00000910| 67 28 6b 53 74 72 4e 65 | 77 73 57 61 74 63 68 65 |g(kStrNe|wsWatche|
|00000920| 72 56 65 72 73 69 6f 6e | 2c 20 66 6d 74 29 3b 0d |rVersion|, fmt);.|
|00000930| 09 70 32 63 73 74 72 28 | 76 65 72 73 53 74 72 29 |.p2cstr(|versStr)|
|00000940| 3b 0d 09 73 70 72 69 6e | 74 66 28 73 74 72 2c 20 |;..sprin|tf(str, |
|00000950| 66 6d 74 2c 20 76 65 72 | 73 53 74 72 29 3b 0d 09 |fmt, ver|sStr);..|
|00000960| 50 75 74 53 74 72 69 6e | 67 28 73 74 72 29 3b 0d |PutStrin|g(str);.|
|00000970| 09 47 65 74 43 53 74 72 | 69 6e 67 28 6b 53 74 72 |.GetCStr|ing(kStr|
|00000980| 4c 6f 67 4c 65 67 65 6e | 64 2c 20 73 74 72 29 3b |LogLegen|d, str);|
|00000990| 0d 09 50 75 74 53 74 72 | 69 6e 67 28 73 74 72 29 |..PutStr|ing(str)|
|000009a0| 3b 0d 09 50 75 74 53 74 | 72 69 6e 67 28 22 22 29 |;..PutSt|ring("")|
|000009b0| 3b 0d 09 72 65 74 75 72 | 6e 3b 0d 09 0d 65 78 69 |;..retur|n;...exi|
|000009c0| 74 3a 0d 0d 09 69 66 20 | 28 67 52 65 66 4e 75 6d |t:...if |(gRefNum|
|000009d0| 20 21 3d 20 30 29 20 4d | 79 46 53 43 6c 6f 73 65 | != 0) M|yFSClose|
|000009e0| 28 67 52 65 66 4e 75 6d | 2c 20 6e 69 6c 29 3b 0d |(gRefNum|, nil);.|
|000009f0| 09 67 52 65 66 4e 75 6d | 20 3d 20 30 3b 0d 09 45 |.gRefNum| = 0;..E|
|00000a00| 72 72 6f 72 4d 65 73 73 | 61 67 65 4e 75 6d 62 65 |rrorMess|ageNumbe|
|00000a10| 72 28 6b 53 74 72 4c 6f | 67 43 61 6e 74 4f 70 65 |r(kStrLo|gCantOpe|
|00000a20| 6e 29 3b 0d 7d 0d 0d 0d | 0d 2f 2a 2d 2d 2d 2d 2d |n);.}...|./*-----|
|00000a30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a70| 2d 2d 2d 2d 2d 2d 2d 0d | 09 43 6c 6f 73 65 4c 6f |-------.|.CloseLo|
|00000a80| 67 46 69 6c 65 20 0d 09 | 0d 09 43 6c 6f 73 65 20 |gFile ..|..Close |
|00000a90| 74 68 65 20 6c 6f 67 20 | 66 69 6c 65 2e 0d 2d 2d |the log |file..--|
|00000aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ab0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ae0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2f 0d 0d 76 6f |--------|--*/..vo|
|00000af0| 69 64 20 43 6c 6f 73 65 | 4c 6f 67 46 69 6c 65 20 |id Close|LogFile |
|00000b00| 28 76 6f 69 64 29 0d 7b | 0d 09 43 53 74 72 32 35 |(void).{|..CStr25|
|00000b10| 35 20 73 74 72 3b 0d 0d | 09 69 66 20 28 67 52 65 |5 str;..|.if (gRe|
|00000b20| 66 4e 75 6d 20 3d 3d 20 | 30 29 20 72 65 74 75 72 |fNum == |0) retur|
|00000b30| 6e 3b 0d 09 50 75 74 53 | 74 72 69 6e 67 28 22 22 |n;..PutS|tring(""|
|00000b40| 29 3b 0d 09 47 65 74 43 | 53 74 72 69 6e 67 28 6b |);..GetC|String(k|
|00000b50| 53 74 72 4c 6f 67 43 6c | 6f 73 65 64 2c 20 73 74 |StrLogCl|osed, st|
|00000b60| 72 29 3b 0d 09 50 75 74 | 53 74 72 69 6e 67 28 73 |r);..Put|String(s|
|00000b70| 74 72 29 3b 0d 09 4d 79 | 46 53 43 6c 6f 73 65 28 |tr);..My|FSClose(|
|00000b80| 67 52 65 66 4e 75 6d 2c | 20 6e 69 6c 29 3b 0d 09 |gRefNum,| nil);..|
|00000b90| 67 52 65 66 4e 75 6d 20 | 3d 20 30 3b 0d 7d 0d 0d |gRefNum |= 0;.}..|
|00000ba0| 0d 0d 2f 2a 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |../*----|--------|
|00000bb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000bc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000bd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000be0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000bf0| 0d 09 4c 6f 67 20 0d 09 | 0d 09 4c 6f 67 20 61 20 |..Log ..|..Log a |
|00000c00| 73 65 72 76 65 72 20 63 | 6f 6d 6d 61 6e 64 20 6f |server c|ommand o|
|00000c10| 72 20 72 65 73 70 6f 6e | 73 65 2e 0d 09 0d 09 45 |r respon|se.....E|
|00000c20| 6e 74 72 79 3a 09 63 6f | 6d 6d 61 6e 64 20 3d 20 |ntry:.co|mmand = |
|00000c30| 0d 09 09 09 09 27 43 27 | 20 69 66 20 63 6f 6d 6d |.....'C'| if comm|
|00000c40| 61 6e 64 2e 0d 09 09 09 | 09 27 52 27 20 69 66 20 |and.....|.'R' if |
|00000c50| 72 65 73 70 6f 6e 73 65 | 2e 0d 09 09 09 09 27 20 |response|......' |
|00000c60| 27 20 69 66 20 6f 70 65 | 6e 2f 63 6c 6f 73 65 2e |' if ope|n/close.|
|00000c70| 0d 09 09 09 73 65 72 76 | 65 72 41 64 64 72 20 3d |....serv|erAddr =|
|00000c80| 20 49 50 20 61 64 64 72 | 65 73 73 20 6f 66 20 73 | IP addr|ess of s|
|00000c90| 65 72 76 65 72 2e 0d 09 | 09 09 73 65 72 76 65 72 |erver...|..server|
|00000ca0| 50 6f 72 74 20 3d 20 73 | 65 72 76 65 72 20 70 6f |Port = s|erver po|
|00000cb0| 72 74 20 6e 75 6d 62 65 | 72 2e 0d 09 09 09 6c 6f |rt numbe|r.....lo|
|00000cc0| 63 61 6c 50 6f 72 74 20 | 3d 20 6c 6f 63 61 6c 20 |calPort |= local |
|00000cd0| 70 6f 72 74 20 6e 75 6d | 62 65 72 2e 0d 09 09 09 |port num|ber.....|
|00000ce0| 73 74 72 20 3d 20 63 6f | 6d 6d 61 6e 64 20 6f 72 |str = co|mmand or|
|00000cf0| 20 72 65 73 70 6f 6e 73 | 65 20 73 74 72 69 6e 67 | respons|e string|
|00000d00| 20 6f 72 20 6f 70 65 6e | 2f 63 6c 6f 73 65 20 6d | or open|/close m|
|00000d10| 65 73 73 61 67 65 2e 0d | 2d 2d 2d 2d 2d 2d 2d 2d |essage..|--------|
|00000d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d60| 2d 2d 2d 2d 2a 2f 0d 0d | 76 6f 69 64 20 4c 6f 67 |----*/..|void Log|
|00000d70| 20 28 63 68 61 72 20 6c | 6f 67 45 6e 74 72 79 54 | (char l|ogEntryT|
|00000d80| 79 70 65 2c 20 75 6e 73 | 69 67 6e 65 64 20 6c 6f |ype, uns|igned lo|
|00000d90| 6e 67 20 73 65 72 76 65 | 72 41 64 64 72 2c 20 75 |ng serve|rAddr, u|
|00000da0| 6e 73 69 67 6e 65 64 20 | 73 68 6f 72 74 20 73 65 |nsigned |short se|
|00000db0| 72 76 65 72 50 6f 72 74 | 2c 20 0d 09 75 6e 73 69 |rverPort|, ..unsi|
|00000dc0| 67 6e 65 64 20 73 68 6f | 72 74 20 6c 6f 63 61 6c |gned sho|rt local|
|00000dd0| 50 6f 72 74 2c 20 63 68 | 61 72 20 2a 73 74 72 29 |Port, ch|ar *str)|
|00000de0| 0d 7b 0d 09 63 68 61 72 | 20 2a 66 69 6c 74 65 72 |.{..char| *filter|
|00000df0| 65 64 53 74 72 3b 0d 09 | 63 68 61 72 20 6c 69 6e |edStr;..|char lin|
|00000e00| 65 5b 35 31 32 5d 3b 0d | 0d 09 69 66 20 28 67 52 |e[512];.|..if (gR|
|00000e10| 65 66 4e 75 6d 20 3d 3d | 20 30 29 20 72 65 74 75 |efNum ==| 0) retu|
|00000e20| 72 6e 3b 0d 09 69 66 20 | 28 6c 6f 67 45 6e 74 72 |rn;..if |(logEntr|
|00000e30| 79 54 79 70 65 20 3d 3d | 20 27 43 27 20 26 26 20 |yType ==| 'C' && |
|00000e40| 4d 79 53 74 72 4e 45 71 | 75 61 6c 28 73 74 72 2c |MyStrNEq|ual(str,|
|00000e50| 20 22 50 41 53 53 22 2c | 20 34 29 29 20 7b 0d 09 | "PASS",| 4)) {..|
|00000e60| 09 66 69 6c 74 65 72 65 | 64 53 74 72 20 3d 20 22 |.filtere|dStr = "|
|00000e70| 50 41 53 53 20 2a 2a 2a | 2a 2a 2a 2a 22 3b 0d 09 |PASS ***|****";..|
|00000e80| 7d 20 65 6c 73 65 20 69 | 66 20 28 6c 6f 67 45 6e |} else i|f (logEn|
|00000e90| 74 72 79 54 79 70 65 20 | 3d 3d 20 27 43 27 20 26 |tryType |== 'C' &|
|00000ea0| 26 20 4d 79 53 74 72 4e | 45 71 75 61 6c 28 73 74 |& MyStrN|Equal(st|
|00000eb0| 72 2c 20 22 41 55 54 48 | 49 4e 46 4f 20 50 41 53 |r, "AUTH|INFO PAS|
|00000ec0| 53 22 2c 20 31 33 29 29 | 20 7b 0d 09 09 66 69 6c |S", 13))| {...fil|
|00000ed0| 74 65 72 65 64 53 74 72 | 20 3d 20 22 41 55 54 48 |teredStr| = "AUTH|
|00000ee0| 49 4e 46 4f 20 50 41 53 | 53 20 2a 2a 2a 2a 2a 2a |INFO PAS|S ******|
|00000ef0| 2a 22 3b 0d 09 7d 20 65 | 6c 73 65 20 7b 0d 09 09 |*";..} e|lse {...|
|00000f00| 66 69 6c 74 65 72 65 64 | 53 74 72 20 3d 20 73 74 |filtered|Str = st|
|00000f10| 72 3b 0d 09 7d 0d 09 73 | 70 72 69 6e 74 66 28 6c |r;..}..s|printf(l|
|00000f20| 69 6e 65 2c 20 22 25 63 | 20 25 6c 75 2e 25 6c 75 |ine, "%c| %lu.%lu|
|00000f30| 2e 25 6c 75 2e 25 6c 75 | 20 25 75 20 25 75 20 25 |.%lu.%lu| %u %u %|
|00000f40| 73 22 2c 0d 09 09 6c 6f | 67 45 6e 74 72 79 54 79 |s",...lo|gEntryTy|
|00000f50| 70 65 2c 0d 09 09 28 73 | 65 72 76 65 72 41 64 64 |pe,...(s|erverAdd|
|00000f60| 72 20 3e 3e 20 32 34 29 | 20 26 20 30 78 66 66 2c |r >> 24)| & 0xff,|
|00000f70| 20 28 73 65 72 76 65 72 | 41 64 64 72 20 3e 3e 20 | (server|Addr >> |
|00000f80| 31 36 29 20 26 20 30 78 | 66 66 2c 20 0d 09 09 28 |16) & 0x|ff, ...(|
|00000f90| 73 65 72 76 65 72 41 64 | 64 72 20 3e 3e 20 38 29 |serverAd|dr >> 8)|
|00000fa0| 20 26 20 30 78 66 66 2c | 20 73 65 72 76 65 72 41 | & 0xff,| serverA|
|00000fb0| 64 64 72 20 26 20 30 78 | 66 66 2c 0d 09 09 73 65 |ddr & 0x|ff,...se|
|00000fc0| 72 76 65 72 50 6f 72 74 | 2c 20 6c 6f 63 61 6c 50 |rverPort|, localP|
|00000fd0| 6f 72 74 2c 20 0d 09 09 | 66 69 6c 74 65 72 65 64 |ort, ...|filtered|
|00000fe0| 53 74 72 29 3b 0d 09 50 | 75 74 53 74 72 69 6e 67 |Str);..P|utString|
|00000ff0| 28 6c 69 6e 65 29 3b 0d | 7d 0d 00 00 00 00 00 00 |(line);.|}.......|
|00001000| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00001010| 00 00 6b de 07 63 61 63 | 68 65 2e 68 02 00 00 00 |..k..cac|he.h....|
|00001020| 54 45 58 54 4d 4d 43 43 | 01 00 ff ff ff ff 00 00 |TEXTMMCC|........|
|00001030| 05 6c 6f 67 2e 63 02 00 | 00 00 54 45 58 54 4d 4d |.log.c..|..TEXTMM|
|00001040| 43 43 01 00 ff ff ff ff | 00 00 00 00 12 a7 00 00 |CC......|........|
|00001050| 00 00 54 45 58 54 4d 4d | 43 43 01 00 ff ff ff ff |..TEXTMM|CC......|
|00001060| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001070| 00 00 aa 4f 8a 4d 00 00 | 0f 7a 00 00 01 9a 00 00 |...O.M..|.z......|
|00001080| 00 00 0e 00 00 00 6b de | 08 63 61 6e 63 65 6c 2e |......k.|.cancel.|
|00001090| 63 2e 02 00 00 00 54 45 | 58 54 4d 4d 43 43 01 00 |c.....TE|XTMMCC..|
|000010a0| ff ff ff ff 00 00 00 00 | 6d d1 00 00 00 00 0b f1 |........|m.......|
|000010b0| 00 00 10 00 00 00 00 00 | 00 00 00 00 00 00 aa 4f |........|.......O|
|000010c0| 89 a1 aa 4f 89 a2 00 00 | 00 00 00 00 00 00 00 00 |...O....|........|
|000010d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 59 f5 00 02 |........|....Y...|
|000010e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000010f0| 00 00 00 00 00 00 00 00 | 0e 00 00 00 6b de 08 63 |........|....k..c|
|00001100| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00001110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001120| 00 00 00 00 00 00 00 03 | 00 04 00 7c 00 0e 01 83 |........|...|....|
|00001130| 02 6d 00 7c 00 0e 01 83 | 02 6d ac 0d 0f 83 00 00 |.m.|....|.m......|
|00001140| 06 7b 00 00 06 87 00 00 | 05 cb 01 00 00 00 00 04 |.{......|........|
|00001150| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00001160| 00 00 00 46 01 af 07 28 | 1b 8c 00 00 00 1c 00 46 |...F...(|.......F|
|00001170| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00001180| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00001190| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|000011a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+